Component({

  behaviors: [],

  properties: {
    myProperty: { // 属性名
      type: String, // 类型（必填），目前接受的类型包括：String, Number, Boolean, Object, Array, null（表示任意类型）
      value: '', // 属性初始值（可选），如果未指定则会根据类型选择一个
      observer: function (newVal, oldVal, changedPath) {
        // 属性被改变时执行的函数（可选），也可以写成在methods段中定义的方法名字符串, 如：'_propertyChange'
        // 通常 newVal 就是新设置的数据， oldVal 是旧数据
      }
    },
    myProperty2: String // 简化的定义方式
  },
  data: {}, // 私有数据，可用于模版渲染

  // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
  attached: function () { },
  moved: function () { },
  detached: function () { },
  onLoad: function (options) {
    console.log("1111111111tab")
    var user = wx.getStorageSync('user')
    console.log("tab2222222222")
    console.log(user.openId)
    console.log('wss://cxj.szzkba.cn/prod-api' + '/api/anon/ws/payOrder/' + user.openId + '/' + new Date().getTime())
    // 1. 创建WebSocket连接
    wx.connectSocket({
      url: 'wss://cxj.szzkba.cn/prod-api' + '/api/anon/ws/payOrder/' + user.openId + '/' + new Date().getTime()
    })
    // 2. 监听WebSocket连接状态
    wx.onSocketOpen(function () {
      console.log('WebSocket连接已打开')
    })
    wx.onSocketError(function (res) {
      console.log('WebSocket连接打开失败:', res)
    })
    wx.onSocketClose(function () {
      console.log('WebSocket连接已关闭')
    })
    // 3. 发送和接收数据
    wx.sendSocketMessage({
      data: 'Hello, WebSocket!'
    })
    wx.onSocketMessage(function (res) {
      console.log('接收到服务器发送的数据:', res.data)
    })
  },
  methods: {
    onMyButtonTap: function () {
      this.setData({
        // 更新属性和数据的方法与更新页面数据的方法类似
      })
    },
    // 内部方法建议以下划线开头
    _myPrivateMethod: function () {
      // 这里将 data.A[0].B 设为 'myPrivateData'
      this.setData({
        'A[0].B': 'myPrivateData'
      })
    },
    _propertyChange: function (newVal, oldVal) {

    },
    clickHandler() {
      console.log('sdsd')
      this.triggerEvent('myevent', { f: 1 })
    }
  }

})
